package Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 迭代器
 */
public class IteratorDemo {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<>();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("#");
        c.add("#");
        c.add("four");
        c.add("five");
        c.add("#");
        Iterator<String> t = c.iterator();//为集合c创建一个迭代器t
        while (t.hasNext()){
            String e = t.next();
            //遍历过程中删除所有"#"
            if ("#".equals(e)){
                //迭代器要求循环遍历的过程中不可以通过集合的方法增删元素,否则会抛出异常
//                c.remove(e);
                t.remove();
            }
            System.out.println(e);
        }
        System.out.println(c);


//        String s = t.next();//调用迭代器t的next()方法得到集合的下一个元素
//        System.out.println(s);
//        String s1 = t.next();
//        System.out.println(s1);
//        String s2 = t.next();
//        System.out.println(s2);
//        String s3 = t.next();
//        System.out.println(s3);
//        boolean boo = t.hasNext();//判断是否集合中还能拿出元素
//        System.out.println(boo);
//        String s4 = t.next();
//        System.out.println(s4);
//        String s5 = t.next();
//        System.out.println(s5);
//        while (t.hasNext()){
//            String e = t.next();
//            System.out.println(e);
//        }
    }
}
